package com.kaikeba.service;

import com.kaikeba.bean.User;
import com.kaikeba.dao.BaseUserDao;
import com.kaikeba.dao.impl.UserDaoMysql;

import java.util.List;
import java.util.Map;

/**
 * @Author: 平川
 * @Description:
 * @Date Created in 2021-08-02 22:14
 * @Modified By:
 */
public class UserService {

    private static BaseUserDao dao = new UserDaoMysql();
    /**
     * @return 用户的人数
     */
    public static List<Map<String, Integer>> console() {
        return dao.console();
    }

    /**
     * @param limit
     * @param offset
     * @param pageNumber
     * @return 用户的集合
     */
    public static List<User> findAll(boolean limit, int offset, int pageNumber) {
        return dao.findAll(limit,offset,pageNumber);
    }

    /**
     * 根据用户的id去查
     *
     * @param id
     * @return 返回用户的信息
     */
    public static User findByID(int id) {
        return dao.findByID(id);
    }

    /**
     * 根据手机号码查询
     *
     * @param phonenumber
     * @return 用户
     */
    public static User findByphonenumber(String phonenumber) {
        return dao.findByphonenumber(phonenumber);
    }

    /**
     *  根据id号去修改用户的信息
     * @return 修改用户的信息
     */
    public static boolean updateUsernameUserphone(int id, String username,String userphone){
     return dao.updateUsernameUserphone(id,username,userphone);
    }

    /**
     *  根据id号去修改用户的信息
     * @return 修改用户的信息
     */
    public static boolean updateUsernameUserphonePassword(int id, String username,String userphone,String password){
        return dao.updateUsernameUserphonePassword(id,username,userphone,password);
    }

    /**
     * @param user
     * @return 新增用户
     */
    public static boolean insert(User user) {
        return dao.insert(user);
    }

    /**
     * 根据id号去修改用户的信息
     *
     * @param id
     * @param user
     * @return 修改用户的信息
     */
    public static boolean update(int id, User user) {
        return dao.update(id,user);
    }

    /**
     * 根据手机号，更新用户最近的登陆时间
     */
    public static boolean  updatetime(String userphone){
        return dao.updatetime(userphone);
    }
    /**
     * 根据id去删除用户的信息
     *
     * @param id
     * @return 删除true false
     */
    public static boolean delete(int id) {
        return dao.delete(id);
    }

}
